1. Field of the Invention
The present invention relates to software design, and more particularly to a system and method for checking the compliance of architectural analysis and design models.
2. Discussion of Related Art
Increasing numbers of software architects, designers and developers are using object-oriented analysis and design modeling techniques and tools to describe and document software systems. In the case of the Unified Modeling Language (UML), these stakeholders can create models and communicate them to others with the help of a common notation. Rational Rose is an example of a modeling tool that uses UML models to provide visual representations of the software. Such models integrate design and implementation environments. However, as software systems grow in the complexity and size, these models are becoming equally complex.
FIG. 1 is a graph of project stages, including analysis, design, and implementation.
A successful analysis effort is important to the success of most software projects as the detailed system requirements are extracted from the analysis model. When using a model such as UML, an analysis model is first created and a design model is derived from the analysis model.
Enforcing modeling rules and constraints can tighten the analysis process, improving analysis sessions by keeping the analysts and subject matter experts focused. Moreover, by using a rigorous process, it is easier to derive a design model upon completion of the analysis effort. However, as analysis models become large on real-world projects, they can have many fine grain details that need to be translated into software. It is typical on large projects to have well over a thousand tasks that need to be identified and assigned during software development. A risk is that the product feature will not get implemented if one of the tasks is not transitioned from analysis to design to implementation.
For a software project, the “implementation model” is the full suite of software needed to implement the design.
Design modeling focuses on architectural and software issues. During design the target language and environment need to be known. Because of the iterative nature of object oriented software development, discoveries made during design modeling may impact the analysis model. Unless the entire software development process is controlled rigorously, traceability between the analysis and design model can start to break down. Changes made to the design also need to be reflected back into the analysis model. Failure to keep the analysis and design models consistent and synchronized will result in a loss of ability to perform risk analysis and effectively manage changes to requirements, as well as an inability to keep the project test plan up to date.
Accordingly, there is a need for a system and method for checking the compliance of such analysis and design models to reduce the overall design, development, and testing costs.